//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#ifndef _ListClusteringTask_h__
#define	_ListClusteringTask_h__
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#include "ClusteringTask.h"
#include "ListRankStatus.h"
#include "MatrixTool.h"
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
class ListClusteringTask {
  
  private:
    
    TListE <ClusteringTask>* tasks;
    ListRankStatus*          listRanks;
    
  protected:

  public:
    
    ListClusteringTask();
    ListClusteringTask(TListE <String>*, ListRankStatus*);
    ListClusteringTask(const ListClusteringTask&);
    ListClusteringTask(const ListClusteringTask*);
    
    ~ListClusteringTask();
    
    void                     Tasks(TListE <ClusteringTask>*);
    void                     ListRanks(ListRankStatus*);
    
    TListE <ClusteringTask>* Tasks(void);
    ListRankStatus*          ListRanks(void);
    
    bool                     CreateListTask(TListE <String>*, int);
    bool                     CreateListTaskWithoutAssign(TListE <String>*, int);
    ClusteringTask*          NextTask(int);
    ClusteringTask*          GetTaskByRank(int);
    
    ListClusteringTask       operator=(const ListClusteringTask&);
    
};
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#endif
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
